<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // window属于根对象
        //   每打开一个页面，就会创建一个window对象

        //    全局变量(var)和全局函数都属于window对象的自定义属性和方法
        //        真正的全局变量  var 
        //        块级作用域  let / const

        //    BOM + DOM 

        //    BOM  浏览器对象模型  browser  object model
        //       浏览器的信息  navigator.userAgent / appVersion 得到的是字符串
        //       历史记录  history
        //       地址栏  location
        //           协议  protocol
        //           域名  hostname
        //           端口号  port
        //           路径   pathname    
        //           搜索   search   问号加后面的一串
        //           锚点   hash     #后面的一部分
        //           href = ''
        //           assign()
        //           replace()  不会产生历史记录

        //    DOM  文档对象模型    document  object model
        //        获取元素   qs   qsa
        //        注意：伪数组
        //        找父元素   parentElement
        //        找子元素   children
        //        找兄弟     previousElementSibling / nextElementSibling

        //        样式操作
        //            getComputedStyle
        //            .style
        //            classList   操作类名

        //        属性操作
        //            自定义属性
        //               




        var a = 1 ;
        console.log(window.a);

        let b = 2 ;
        console.log(window.b);    // undefined


        function fn() {
            console.log(666);

            function f() {
                console.log(999);
            }
        }

        window.fn()

        // window.f();    // 报错  -> 函数内部声明的函数只能在函数里面调用

    </script>
    
</body>
</html>